home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / PROGRAMR / OLE2BOOK.ZIP / BASICS.ZIP / INTERFAC / IADVSINK.CPP next >
C/C++ Source or Header  |  1993-05-04  |  4KB  |  197 lines

  1. /*
  2.  * IADVSINK.CPP
  3.  *
  4.  * Template implementation of the IAdviseSink interface.
  5.  *
  6.  * Copyright (c)1993 Microsoft Corporation, All Rights Reserved
  7.  *
  8.  * Kraig Brockschmidt, Software Design Engineer
  9.  * Microsoft Systems Developer Relations
  10.  *
  11.  * Internet  :  kraigb@microsoft.com
  12.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  13.  */
  14.  
  15.  
  16. #include "iadvsink.h"
  17.  
  18.  
  19. /*
  20.  * CImpIAdviseSink::CImpIAdviseSink
  21.  * CImpIAdviseSink::~CImpIAdviseSink
  22.  *
  23.  * Parameters (Constructor):
  24.  *  pObj            LPVOID of the object we're in.
  25.  *  punkOuter       LPUNKNOWN to which we delegate.
  26.  */
  27.  
  28. CImpIAdviseSink::CImpIAdviseSink(LPVOID pObj, LPUNKNOWN punkOuter)
  29.     {
  30.     m_cRef=0;
  31.     m_pObj=pObj;
  32.     m_punkOuter=punkOuter;
  33.     return;
  34.     }
  35.  
  36. CImpIAdviseSink::~CImpIAdviseSink(void)
  37.     {
  38.     return;
  39.     }
  40.  
  41.  
  42.  
  43.  
  44. /*
  45.  * CImpIAdviseSink::QueryInterface
  46.  * CImpIAdviseSink::AddRef
  47.  * CImpIAdviseSink::Release
  48.  *
  49.  * Purpose:
  50.  *  IUnknown members for CImpIAdviseSink object.
  51.  */
  52.  
  53. STDMETHODIMP CImpIAdviseSink::QueryInterface(REFIID riid, LPVOID FAR *ppv)
  54.     {
  55.     return m_punkOuter->QueryInterface(riid, ppv);
  56.     }
  57.  
  58.  
  59. STDMETHODIMP_(ULONG) CImpIAdviseSink::AddRef(void)
  60.     {
  61.     ++m_cRef;
  62.     return m_punkOuter->AddRef();
  63.     }
  64.  
  65. STDMETHODIMP_(ULONG) CImpIAdviseSink::Release(void)
  66.     {
  67.     --m_cRef;
  68.     return m_punkOuter->Release();
  69.     }
  70.  
  71.  
  72.  
  73.  
  74. /*
  75.  * IAdviseSink::OnDataChange
  76.  *
  77.  * Purpose:
  78.  *  Notifes the advise sink that data changed in a data object.  On
  79.  *  this message you may request a new data rendering and update your
  80.  *  displays as necessary.
  81.  *
  82.  * Parameters:
  83.  *  pFEIn           LPFORMATETC describing format that changed
  84.  *  pSTM            LPSTGMEDIUM providing the medium in which the data
  85.  *                  is provided.
  86.  *
  87.  * Return Value:
  88.  *  None
  89.  */
  90.  
  91. STDMETHODIMP_(void) CImpIAdviseSink::OnDataChange(LPFORMATETC pFEIn
  92.     , LPSTGMEDIUM pSTM)
  93.     {
  94.     return;
  95.     }
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103. /*
  104.  * IAdviseSink::OnViewChange
  105.  *
  106.  * Purpose:
  107.  *  Notifes the advise sink that presentation data changed in the data
  108.  *  object to which we're connected providing the right time to update
  109.  *  displays using such presentations.
  110.  *
  111.  * Parameters:
  112.  *  dwAspect        DWORD indicating which aspect has changed.
  113.  *  lindex          LONG indicating the piece that changed.
  114.  *
  115.  * Return Value:
  116.  *  None
  117.  */
  118.  
  119. STDMETHODIMP_(void) CImpIAdviseSink::OnViewChange(DWORD dwAspect, LONG lindex)
  120.     {
  121.     return;
  122.     }
  123.  
  124.  
  125.  
  126.  
  127.  
  128. /*
  129.  * IAdviseSink::OnRename
  130.  *
  131.  * Purpose:
  132.  *  Informs the advise sink that a linked object has been renamed.
  133.  *  Generally only the OLE 2.0 default handler cares about this.
  134.  *
  135.  * Parameters:
  136.  *  pmk             LPMONIKER providing the new name of the object
  137.  *
  138.  * Return Value:
  139.  *  None
  140.  */
  141.  
  142. STDMETHODIMP_(void) CImpIAdviseSink::OnRename(LPMONIKER pmk)
  143.     {
  144.     return;
  145.     }
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152. /*
  153.  * IAdviseSink::OnSave
  154.  *
  155.  * Purpose:
  156.  *  Informs the advise sink that the OLE object has been saved
  157.  *  persistently.  The primary purpose of this is for containers that
  158.  *  want to make optimizations for objects that are not in a saved
  159.  *  state, so on this you have to disable such optimizations.
  160.  *  Generally only the OLE 2.0 default handler cares about this.
  161.  *
  162.  * Parameters:
  163.  *  None
  164.  *
  165.  * Return Value:
  166.  *  None
  167.  */
  168.  
  169. STDMETHODIMP_(void) CImpIAdviseSink::OnSave(void)
  170.     {
  171.     return;
  172.     }
  173.  
  174.  
  175.  
  176.  
  177.  
  178. /*
  179.  * IAdviseSink::OnClose
  180.  *
  181.  * Purpose:
  182.  *  Informs the advise sink that the OLE object has closed and is
  183.  *  no longer bound in any way.  Generally only of interest to the
  184.  *  OLE 2.0 default handler.
  185.  *
  186.  * Parameters:
  187.  *  None
  188.  *
  189.  * Return Value:
  190.  *  None
  191.  */
  192.  
  193. STDMETHODIMP_(void) CImpIAdviseSink::OnClose(void)
  194.     {
  195.     return;
  196.     }
  197.